﻿/*
 * Copyright(C) 2012,ajayumi 保留所有权利。( All rights reserved. )
 * 
 * 文件名称：PageBase.cs
 * 摘    要：
 * 当前版本：1.0
 * 作    者：黄乙冬 (ajayumi)
 * 创建日期：2012年5月24日
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;

namespace ajayumi.Platform.Web
{
    /// <summary>
    /// 所有页面的基类
    /// </summary>
    public class PageBase : Page
    {
        protected override void OnInit(EventArgs e)
        {
            ValidatePermission();
            base.OnInit(e);
        }

        protected override void OnInitComplete(EventArgs e)
        {
            base.OnInitComplete(e);
            InitInvoke();
        }

        /// <summary>
        /// 初始调用
        /// </summary>
        public virtual void InitInvoke()
        {
            return;
        }

        /// <summary>
        /// 验证权限
        /// </summary>
        protected virtual void ValidatePermission()
        {
        }

        /// <summary>
        /// 跳转至登录页面
        /// </summary>
        protected virtual void RedirectToLogin()
        {
            System.Web.Security.FormsAuthentication.SignOut();
            System.Web.Security.FormsAuthentication.RedirectToLoginPage();
        }

        /// <summary>
        /// 得到处理后的通过页面传参的值
        /// </summary>
        /// <param name="key">键值</param>
        protected virtual string GetSafeValue(string key)
        {
            if (Request.QueryString.HasKeys())
            { return HtmlHelper.SafeString(Request.QueryString[key]); }

            return string.Empty;
        }

    }
}
